In the professional printing field, output quality is of primary importance. It is often necessary for an operator or user of a printer to make small changes to the document being printed before the document is mass produced. Often the operator wishes to make changes to the colour of objects on the page. These changes are typically done in a preview application that runs on a Digital Front End of the printer (being the operator console, typically shortened to DFE), and edits performed by the operator are usually made to the print-ready version of the document, not to the source document. The print-ready version of the document is usually in a final format like PDF, that it not as suitable for editing as was the original source document(s). While document ready formats like PDF can be edited, typically rendering them is slow, so that it is difficult to construct a responsive editor using them.
One common approach used for such a preview/editing application (editor) is to edit a rendered bitmap version of the page. This approach has the advantage that making the change requested by the user is fast, so it is possible to instantly reflect the requested change in the user interface. A responsive user interface is desirable, as the operator can explore changes to the document, without the annoyance of over-correcting. A disadvantage of this approach is that the rendered bitmap has lost all transparency and object information that existed in the input print-ready file format. This makes it difficult for the editor to limit changes to the boundaries of objects (which is often required by the user/operator). Instead, the editor must limit changes to contrast edges or the boundaries of colour changes in the bitmap, and while this can work reasonably well for patches of solid colour, it is error prone for objects such as colour gradients, where overlaid transparent objects makes edges indistinct or for over-all changes to embedded images.
A second approach which avoids the problems of the bitmap method, is to make the edits in the input print-ready format. This has the advantage that all object information is retained, so edits can follow object boundaries precisely. However, the disadvantage of this approach is that after the change specified by the user/operator has been made, the print-ready format must be re-rendered, and this can be slow. This slowness makes it difficult to create a responsive user interface, and the resulting system can be annoying and difficult to use.
A variation of the second approach, which tries to resolve the user-responsiveness issue, is to convert the input print-ready format into the format of a standard editing tool. This approach has the disadvantage that page information may be lost in the conversion to the editing format. Further, conversion of the format to that of the standard edit tool is often inaccurate, causing errors and necessitating further processing to remove or avoid the errors.